//
//  PdfViewer.swift
//  ptbuy
//
//  Created by MyMac on 2024/11/29.
//

import SwiftUI

struct PdfViewer: View {
    
    // 获取全局状态对象
    @EnvironmentObject var globalState: NetworkMonitor
    
    @Binding var fileName : String
    // 通过绑定来控制关闭
    @Binding var isPresented: Bool
    
    var body: some View {
        NavigationView {
            VStack{
                let filename = Utils.getDocumentsDirectory().appendingPathComponent(
                    fileName
                )
                
                let fileURL = URL(fileURLWithPath: filename.path)
                
                let fileManager = FileManager.default
                // 使用 FileManager 检查文件是否存在
                let _fileExists = fileManager.fileExists(atPath: fileURL.path)
                
                if _fileExists{
                    PDFViewWrapper(url: fileURL)
                }else{
                    Text("路径上未找到文件，文件丢失")
                }
             
            } .navigationBarTitle("查看签字确认单", displayMode: .inline) // 设置导航栏标题
                .navigationViewStyle(StackNavigationViewStyle()) // 推荐在全屏时使用此样式
                .toolbar {
                    // 修改标题字体大小
                    ToolbarItem(placement: .topBarLeading) {
//                        Text("返回")
//                            .clipShape(
//                                Capsule()
//                            ) // 使用 Capsule 形状来实现圆角效果
//                            .onTapGesture {
//                                isPresented = false
//                            }
                        Button(action: {       // 自定义返回动作
                            isPresented = false
                            }) {
                                Image(systemName: "arrow.left.circle.fill") // 返回图标
                            }
                    }
                    ToolbarItem(placement: .topBarTrailing) {
                        Text("分享")
                            .clipShape(
                                Capsule()
                            ) // 使用 Capsule 形状来实现圆角效果
                            .onTapGesture {
                                globalState.isShareStatus = true
//                                globalState.myFlileName = fileName
//                                print(globalState.myFlileName)
                                
                            }
                    }
                }.sheet(isPresented: $globalState.isShareStatus){
                    let filename = Utils.getDocumentsDirectory().appendingPathComponent(
                        fileName
                    )
                    
                    let fileURL = URL(fileURLWithPath: filename.path)
                    
                    ShareSheet(activityItems: [fileURL]) {
                               // 分享完成后的回调
                               print("Share completed")
                           }
                    
                }
        }
        .edgesIgnoringSafeArea(.all)
    }
}
